The present application is directed to systems and methods for Web Service function, definition, implementation, and/or execution. The Internet is a global network of connected computer networks. Over the last several years, the Internet has grown in significant measure. A large number of computers on the Internet provide information in various forms. Anyone with a computer connected to the Internet can potentially tap into this vast pool of information.
The information available via the Internet encompasses information available via a variety of types of application layer information servers such as SMTP (Simple Mail Transfer Protocol), POP3 (Post Office Protocol), GOPHER (RFC 1436), WAIS, HTTP (Hypertext Transfer Protocol, RFC 2616) and FTP (File Transfer Protocol, RFC 1123).
One of the most wide spread methods of providing information over the Internet is via the World Wide Web (the Web). The Web consists of a subset of the computers connected to the Internet; the computers in this subset run HTTP servers (“Web servers”). Several extensions and modifications to HTTP have been proposed including, for example, an extension framework (RFC 2774) and authentication (RFC 2617). Information on the Internet can be accessed through the use of a Uniform Resource Identifier (“URI,” RFC 2396). A URI uniquely specifies the location of a particular piece of information on the Internet. A URI will typically be composed of several components. The first component typically designates the protocol by which the address piece of information is accessed (e.g., HTTP, GOPHER, etc.). This first component is separated from the remainder of the URI by a colon (‘:’). The remainder of the URI will depend upon the protocol component. Typically, the remainder designates a computer on the Internet by name, or by IP number, as well as a more specific designation of the location of the resource on the designated computer. For instance, a typical URI for an HTTP resource might be:
http://www.server.com/dir1/dir2/resource.htm
Where HTTP is the protocol, www.server.com is the designated computer name and /dir1/dir2/resouce.htm designates the location of the resource on the designated computer. The term URI includes Uniform Resource Names (“URNs”) including URNs as defined according to RFC 2141.
Web servers host information in the form of Web pages; collectively the server and the information hosted are referred to as a Web site. A significant number of Web pages are encoded using the Hypertext Markup Language (“HTML”) although other encodings using Standard Generalized Markup Language (“SGML”), eXtensible Markup Language (“XML”), Dynamic HTML (“DHMTL”) (the combination of HTML, style sheets and scripts that allows documents to be animated) or Extensible HyperText Markup Language (“XHTML”) are possible. The published specifications for these languages are incorporated by reference herein; such specifications are available from the World Wide Web Consortium and its Web site (http://www.w3.org). Web pages in these formatting languages may include links to other Web pages on the same Web site or another. As will be known to those skilled in the art, Web pages may be generated dynamically by a server by integrating a variety of elements into a formatted page prior to transmission to a Web client. Web servers, and information servers of other types, await requests for the information from Internet clients.
Client software has evolved that allows users of computers connected to the Internet to access this information. Advanced clients such as Netscape's Navigator and Microsoft's Internet Explorer allow users to access software provided via a variety of information servers in a unified client environment. Typically, such client software is referred to as browser software.
Web services further facilitate access to information on the Internet by computer users. Web services address the need to integrate legacy mainframe applications by acting as platform-independent interfaces that allow communication with other applications using standards-based Internet technologies, such as HTTP and XML. With traditional integration techniques, there are multiple point-to-point communication and data conversions that may change as new applications are integrated or data formats change. Web services simplify integration by reducing the number of Application Program Interfaces (“API”) to one, Simple Object Access Protocol (“SOAP”) and the number of data formats to one, XML. SOAP overlays XML and transmits data in a way that can be understood and accepted by Web browsers and servers. The XML is also human readable. Web services allow programmers to make databases and/or other applications available across the Web for other programmers to access them and link the applications together to provide services.
Web services using the request and response methods are further described as being a Service Oriented Architecture (“SOA”) approach to integration of electronic business applications or processes. A service-oriented architecture is essentially a collection of services. These services communicate with each other as described previously. The communication can involve either simple data passing or it could involve two or more services coordinating some activity. The methods of connecting services to each other involve the protocols and transport methods of SOAP.
Web Services Description Language (“WSDL”) is a format for describing a Web services interface. It is a way to describe services and how they should be bound to specific network addresses. The WSDL includes three parts: definition, operations and service bindings.
WSDL definitions are generally expressed in XML and include both data type definitions and message definitions that use the data type definitions. These definitions are usually based on some agreed upon XML vocabulary. This agreement could be within an organization or between organizations. Vocabularies within an organization could be designed specifically for that organization. They may or may not be based on some industry-wide vocabulary. If data type and message definitions need to be used between organizations, then most likely an industry-wide vocabulary will be used.
WSDL operations are grouped into port types. Port types define a set of operations supported by the Web service.
WSDL service bindings connect port types to a port. A port is defined by associating a network address with a port type. A collection of ports defines a service. This binding is commonly created using SOAP protocols and transport methods.
IBM created a SOAP interface for CICS (Customer Information Control System) which only supported a one-to-one relationship between the SOAP request and to the application code. This process does not provide automatic parsing and processing between the SOAP XML and the application communication areas. It also fails to provide any method for processing 3270 BMS applications. The IBM process provides neither flow processing nor graphical interface tooling with the SOAP process.
A main problem of most computer-based systems is their lack of ability to create composite processing in a Web service environment. A primary aspect of the Web service software described herein is to provide composite-based application processing using existing application software. Present systems lack support for a variety of functionality in the Web service area. Present systems do not support application flow and processing multiple applications via a single SOAP request would provide a much-needed process to the market place. Further, programmers have a significant learning curve to build the required XML and WSDL files required for SOAP processing.